#ifndef NET_UDP_SERVER_H
#define NET_UDP_SERVER_H

#include "UDPSession.h"

namespace mp_net
{
	class UdpServer : public UdpSession
	{
	public:
		UdpServer(spIoService ioService): UdpSession(ioService)
			{m_id = MPN_UDP_SERVER_ID;}
		virtual ~UdpServer(){}

		virtual bool Start(){return false;}
		virtual bool Stop(bool wait=false){return false;}

		virtual void ThreadInitialization();
		virtual void ThreadUpdate();
		virtual void ThreadShutdown();

		//UDP Client Operations
		void RegisterNewClient(udp::endpoint endpoint){}
		void RemoveClient(udp::endpoint endpoint){}
		void RemoveClient(int id){}

	protected:

		void ParseInputBuffer(){}
		void BuildOutputBuffer(){}

		/*! Connections */
		std::vector<UdpConnection>	m_connections;

	};
}
#endif